﻿/**
    作者：张峰
    版本：AS3.0

    功能：声音频谱模式

*/
package zf.media.audio
{
	import zf.media.audio.spectrum.*;
	/**
	 * 声音频谱模式（类型） 
	 * @author mike.zhang
	 * @langversion 3.0 
	 * @playerversion Flash 9 
	 */
	public class SoundSpectrumMode
	{
		public static  const SLS:String="SmoothLineSpectrum";
		public static  const LS:String="LineSpectrum";
		public static  const RS:String="RaySpectrum";
		public static  const CS:String="CircleSpectrum";
		public static  const SS:String="StarSpectrum";
		
		public static var classArray:Array=new Array(SmoothLineSpectrum,LineSpectrum,RaySpectrum,CircleSpectrum,StarSpectrum);
		public static var className:Array=new Array(SLS, LS, RS, CS, SS);

		/**
		 * 通过类名获取频谱类 
		 * @param classname 类名
		 * @return 继承自 SoundSpectrum 的频谱类
		 * @see SoundSpectrum
		 */
		public static function getClass(classname:String):Class
		{
			var index:int=className.indexOf(classname);
			if (index == -1)
			{
				return null;
			}
			return classArray[index] as Class;
		}
		/**
		 * 通过下标获取频谱类  
		 * @param index 下标
		 * @return 继承自 SoundSpectrum 的频谱类
		 * @see SoundSpectrum
		 */
		public static function getClassToIndex(index:uint):Class
		{
			index=index%classArray.length;
			return classArray[index] as Class;
		}

		/**
		 * 获取所有的频谱类
		 * @return 数组，每个元素是一个频谱类
		 * 
		 */
		public static function getClassArray():Array
		{
			return classArray;
		}
		/**
		 * 获取所有的频谱类名
		 * @return 数组，每个元素是一个频谱类名
		 * 
		 */
		public static function getClassNameArray():Array
		{
			return className;
		}
	}
}